Mobile computing devices, such as cellular phones, smart phones, and personal digital assistants can encounter failure events, such as a software crash. Further, these devices can be used in many different ways according to the preferences of the users thereof. The mobile devices can communicate wirelessly via a wireless network to a server computer, which can provide functions such as data backup, data restore, the provision of new applications, updating or upgrading software of the device, etc.